home *** CD-ROM | disk | FTP | other *** search
/ Aminet 23 / Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso / Aminet / dev / misc / gms_dev.lha / GMSDev / Source / E / Screens / Reposition.e < prev    next >
Text File  |  1997-12-06  |  2KB  |  58 lines

  1. /* Name:      Reposition
  2. ** Author:    Paul Manias
  3. ** Copyright: DreamWorld Productions (c) 1996-1997.  Freely distributable.
  4. **
  5. ** This example has a mobile 320x256 screen, which is attached to the
  6. ** mouse.  To exit the example, press LMB. 
  7. */
  8.  
  9. MODULE 'dpkernel','dpkernel/dpkernel','graphics/pictures','files/files'
  10. MODULE 'screens','system/register','system/modules','input/joydata'
  11. MODULE 'graphics/screens','graphics/blitter'
  12.  
  13. PROC main()
  14.    DEF screen    :PTR TO screen,
  15.        joy       :PTR TO joydata,
  16.        pic       :PTR TO picture,
  17.        scrmodule :PTR TO module,
  18.        picfile   :filename
  19.  
  20.    picfile := [ ID_FILENAME, 'GMS:demos/data/PIC.Green']:filename
  21.  
  22.    IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
  23.     IF (scrmodule := Init([TAGS_MODULE,NIL,
  24.        MODA_NUMBER,    MOD_SCREENS,
  25.        MODA_TABLETYPE, JMP_AMIGAE,
  26.        TAGEND], NIL))
  27.  
  28.       scrbase := scrmodule.modbase
  29.  
  30.       IF (pic := Load(picfile,ID_PICTURE))
  31.          screen := Get(ID_SCREEN)
  32.          CopyStructure(pic,screen)
  33.          screen.memptr1 := pic.bitmap.data
  34.          screen.attrib  := CENTRE
  35.  
  36.          IF (screen := Init(screen,NIL))
  37.             IF (joy := Init(Get(ID_JOYDATA),NIL))
  38.                Display(screen)
  39.                REPEAT
  40.                  Query(joy)
  41.                  screen.xoffset := screen.xoffset + joy.xchange
  42.                  screen.yoffset := screen.yoffset + joy.ychange
  43.                  WaitAVBL()
  44.                  RemakeScreen(screen)
  45.                UNTIL !(joy.buttons AND JD_LMB)
  46.             Free(joy)
  47.             ENDIF
  48.          Free(screen)
  49.          ENDIF
  50.       Free(pic)
  51.       ENDIF
  52.     Free(scrmodule)
  53.     ENDIF
  54.    CloseDPK()
  55.    ENDIF
  56. ENDPROC
  57.  
  58.